The present invention is directed to security apparatuses and methods for electrical devices, and especially to security apparatuses and methods for microprocessors, non-volatile memory devices and similar electronic devices storing data. It is desirable to frustrate or deny unwanted access is to data stored in electronic devices.
By way of example and not by way of limitation, a security algorithm is sometimes used to safeguard data in a programmable non-volatile memory device. The security algorithm employs a security key for limiting access of those seeking access to data stored in the non-volatile memory device. Such limiting of access to information is an age-old challenge.
Recently manufacturers of some host devices have taken design steps to assure users of their devices are restricted to using the manufacturer's accessories. Host devices being so designed include, by way of example and not by way of limitation, portable computing devices, PDA (Portable Digital Assistant) devices, mobile phones and similar devices that use accessories. Accessories include by way of further example and not by way of limitation, batteries, automobile charging cords and similar accessory devices. Profits from sales of accessories sometimes have greater profit margins than do profits from sales of the base devices themselves. By way of example and not by way of limitation, manufacturers of lap top computing devices have installed firmware or software using a programmable memory such as a programmable flash memory configured to accept only certain accessory devices for operation. In devices so equipped, a user may find that an after-market battery manufactured by an entity other than the manufacturer of a portable computing device will not operate with the portable computing device. This design result is sometimes effected using a security algorithm in firmware. The security algorithm usually employs a security key, or keys, stored separately from the algorithm. The security key is a data set of digital information that must be known to the accessory sought to be installed. If the accessory successfully communicates in a predetermined manner with the host device into which it installed, then the host device will accept the accessory and operate properly with the accessory. Sometimes the functionality of the accessory is not completely negated by a failure to properly communicate with the security algorithm. By way of example and not by way of limitation, an automobile charging cord for operating a host device using a car's battery will also charge the host device's battery when fully functional. If the automobile charging cord does not properly communicate with the security algorithm in the host device, only operation using the car's battery may be permitted without permitting charging of the host device's battery from the car's battery.
Users may be expected to attempt to circumvent such security provisions in order to be able to freely use any accessory they wish to use. By way of example and not by way of limitation, if a user can learn the security key used with the security algorithm employed by the host device, the user can “fool” the host device into accepting a non-approved after market accessory not manufactured by the manufacturer of the host device or approved supplier. If access to the security data could be prevented a user could not circumvent the security provisions in place in the host device. Alternately one may frustrate access to security data, ensuring that the security data is altered or otherwise rendered unusable when an attempt is made to accomplish such unwanted access.
There is a need for an apparatus and method for frustrating or otherwise preventing unwanted access to data stored with a host device.